\documentclass[a4paper,11pt,oneside]{report}
\usepackage[german]{hgb}	 % options: german, english
\usepackage[margin=3cm]{geometry}
\usepackage{pdflscape}
\graphicspath{{images/}}   	% where are the EPS images?


%%%----------------------------------------------------------
\begin{document}
%%%----------------------------------------------------------

\author{Alexander Bohn \\
	     Manuel Djalili \\
	     Dominik Gruber \\
	     Manuel Mayrhofer \\
	     Philipp Naderer}
	     
\title{QSE-ASE-08 \\  
        Tenez \\
        Testbericht}

\date{21. J"anner 2010}

%%%----------------------------------------------------------
\maketitle
\tableofcontents
%%%----------------------------------------------------------

%%%----------------------------------------------------------
\chapter{Vorwort}
%%%----------------------------------------------------------

In diesem Testbericht werden alle bis jetzt erstellten, durchgef"urten und noch nicht getesteten Jala Unit Tests beschrieben und bewertet. Zeitpunkt der Tests war der 21. J"anner 2010 21.00 Uhr. Zum Test stand das Programm in der bis dahin akutellen Version zur Verf"ugung. Getestet wurde mit dem Jala Unit Test Runner welcher in Helma implementiert ist. 


%%%----------------------------------------------------------
\chapter{Testobjekte}
%%%----------------------------------------------------------

\section{*.properties}
\textbf{Anzahl Tests: 4}\\
\noindent 
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{base: PermissionGroup.properties} \\
&  \textit{admin: Root.properties} \\
&  \textit{db-mapping: Permission.properties} \\
&  \textit{admin: UserMgr.properties} \\
\hline
Jala Unit Test & \textit{test\_dbmapping\_shouldCheckPermissionManagement()} \\
\hline
Ergebnis & Alle assert Methoden liefen fehlerlos. Daher das Datebankmapping zwischen Permissiongroups, Authorizations und Permissions funkioniert korrekt  \\ 
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{base: ContactMgr.properties}\\
&  \textit{base: Root.properties} \\
&  \textit{base: Country.properties} \\
&  \textit{dp-mapping: Contact.properties} \\
&  \textit{dp-mapping: User.properties} \\
\hline
Jala Unit Test & \textit{test\_dbmapping\_shouldAddAndRemoveCitiesAndUsersAndContact()}\\
\hline
Ergebnis & Städte,Länder und User inkl. Kontaktdaten konnten fehlerlos erstellt und wieder gelöscht werden. Das DB-Mapping hat daher einwandfrei funktioniert, alle Assertaufrufe lieferten die korrekten Ergebnisse \\ 
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{base: Root.properties}\\
\hline
Jala Unit Test & \textit{test\_dbmapping\_shouldAddAndRemoveCurrencies()}\\
\hline
Ergebnis & Currency Objekte konnten erfolgreich direkt von Root aus geadded und gelöscht werden. Das DB-Mapping ist korrekt.\\ 
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{base: Root.properties}\\
& \textit{base: ContactMgr.properties}\\
& \textit{base: Country.properties}\\
& \textit{db-mapping: Club.properties}\\
& \textit{base: Club.properties}\\
& \textit{db-mapping: Location.properties}\\
& \textit{base: Location.properties}\\
& \textit{db-mapping: Court.properties}\\
& \textit{base: Court.properties}\\
& \textit{db-mapping: Timeslot.properties}\\
& \textit{base: Timeslot.properties}\\
& \textit{db-mapping: Transaction.properties}\\
& \textit{base: Transaction.properties}\\
& \textit{base: User.properties}\\
\hline
Jala Unit Test & \textit{test\_dbmapping\_shouldAddAndRemoveClubWithAllFunctionality()}\\
\hline
Ergebnis & Ein Klub mit allen was dazugehört(User, Kontaktdaten, Locations, Courts, Timeslots, Transactions) wurde erfolgreich erstellt und wieder gelöscht. Dieser Test verlief fehlerfrei. \\ 
\hline
\end{tabular}

\noindent \\
\\

\section{Global.macros.js}
\textbf{Anzahl Tests: 24}\\
\noindent
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{isNull\_filter(val)}
\\
\hline
Jala Unit Test & \textit{test\_global\_isNullFilter()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. isNull\_filter retunierte bei input null true und bei irgendeinem übergebenen Wert oder Objekt false.   \\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{minusOneDay\_filter(Date)}
\\
\hline
Jala Unit Test & \textit{test\_global\_minusOneDayFilter()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. Die Methode retunierte das übergebene Datum um einen Tag zurückgesetzt\\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{plusOneDay\_filter(Date)}
\\
\hline
Jala Unit Test & \textit{test\_global\_plusOneDayFilter()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. Die Methode retunierte das übergebene Datum um einen Tag vorgesetzt \\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{formatDaymaskForDay\_filter()}
\\
\hline
Jala Unit Test & \textit{test\_global\_formatDaymaskForDayFilter()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. \\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{formatWeekday\_filter(Date)}
\\
\hline
Jala Unit Test & \textit{test\_global\_formatWeekdayFilter()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. Es wurde immer der richtige Wochentag als Stringwert vom übergebenen Datumsobjekt retuniert\\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{formatTime\_filter(Date)}
\\
\hline
Jala Unit Test & \textit{test\_global\_formatTimeFilter()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. Es wurde immer die richtige Uhrzeit in Form "hh:mm" als Stringwert vom übergebenen Datumsobjekt retuniert\\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{formatDate\_filter(Date)}
\\
\hline
Jala Unit Test & \textit{test\_global\_formatDateFilter()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. Die übergebenen Datumsobjekte wurden jeweils korrekt in "dd.mm.yyyy" formatiert\\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{formatMoney\_filter(Float)}
\\
\hline
Jala Unit Test & \textit{test\_global\_formatMoneyFilter()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. Die übergebenen Floatwerte wurden jeweils korrekt in Geldwerte formatiert.\\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{multNegOne\_filter(Integer)}
\\
\hline
Jala Unit Test & \textit{test\_global\_multNegOneFilter()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. Alle übergebenen Werte wurden immer korrekt mit -1 multipliziert\\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{toPercent\_filter(Float)}
\\
\hline
Jala Unit Test & \textit{test\_global\_toPercentFilter()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. Alle übergebenen Werte wurden immer korrekt mit 100 multipliziert\\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{equals\_filter(value, param)}
\\
\hline
Jala Unit Test & \textit{test\_global\_equalsFilter()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. Alle übergebenen Werte wurden mit dem Filterwert korrekt verglichen\\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{isBigger\_macro(param)}
\\
\hline
Jala Unit Test & \textit{test\_global\_isBiggerMacro()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. Die Filterwerte wurden gegenseitig korrekt auf istGrößer verglichen\\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{formatDecimal\_filter(Float)}
\\
\hline
Jala Unit Test & \textit{test\_global\_formatDecimalFilter()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. Das Dezimalzeichen im übergebenen Floatwert wurde korrekt von "." in "," formatiert \\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{queryParam\_macro(param)}
\\
\hline
Jala Unit Test & \textit{test\_global\_queryParamMacro()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. Es wurde immer erfolgreich auf query params gechecked und der Wert retuniert \\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{switch\_filter(thecase, param)}
\\
\hline
Jala Unit Test & \textit{test\_global\_switchFilter()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. Der Parameter wurde immer gerendert, sofern der Name dem Inputstring glich. Ansonsten korrekterweiße nicht.\\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{queryParams\_macro(param)}
\\
\hline
Jala Unit Test & \textit{test\_global\_queryParamsMacro()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. 
\\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{currencySymbol\_macro()}
\\
\hline
Jala Unit Test & \textit{test\_global\_currencySymbolMacro()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. 
\\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{currencyCode\_macro()}
\\
\hline
Jala Unit Test & \textit{test\_global\_currencyCodeMacro()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. 
\\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{currentClub\_macro()}
\\
\hline
Jala Unit Test & \textit{test\_global\_currentClubMacro()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. Der aktuelle Club, in dem Fall null, wurde retuniert.
\\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{href\_filter(obj, param)}
\\
\hline
Jala Unit Test & \textit{test\_global\_hrefFilter()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. Die href Funktion des übergebenen Objektes konnte erfolgreich ausgeführt werden.
\\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{link\_filter(href, param)}
\\
\hline
Jala Unit Test & \textit{test\_global\_linkFilter()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. Der übergebene param.text wurde in ein <a> tag mit gegebenen href eingefügt.
\\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{checkPermission\_macro(param)}
\\
\hline
Jala Unit Test & \textit{test\_global\_checkPermissionMacro()}
\\
\hline
Ergebnis & Der Test lief erfolgreich.
\\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{signout\_macro(param)}
\\
\hline
Jala Unit Test & \textit{test\_global\_signoutMacro()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. Das SignoutUser.skin konnte erfolgreich gerendert werden.
\\
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{staticUrl\_macro(param)}
\\
\hline
Jala Unit Test & \textit{test\_global\_staticUrlMacro()}
\\
\hline
Ergebnis & Der Test lief erfolgreich. Die statische URL konnte erfolgreich mit übergebenen Filterwert gerendert werden.
\\
\hline
\end{tabular}

\section{tenez.Util.js}
\textbf{Anzahl Tests: 1}\\
\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{tenez.Util.sanitizeCharacters()}
\\
\hline
Jala Unit Test & \textit{test\_util\_shouldSanitizeString()}
\\
\hline
Ergebnis & Der Test war erfolgreich. Es konnten alle non-ASCII-128 Characters mit ASCII-128 Characters ersetzt werden\\ 
\hline
\end{tabular}

\section{tenez.Date.js}
\textbf{Anzahl Tests: 2}\\
\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{tenez.Date.getDaymask(Date)}
\\
\hline
Jala Unit Test & \textit{test\_date\_shouldReturnDaymask()}
\\
\hline
Ergebnis & Der Test war erfolgreich. Es wurde jeweils immer die korrekte Datumsmaske für ein gegebenes Datum retuniert\\ 
\hline
\end{tabular}

\noindent \\
\\
\begin{tabular}{| p{2.5cm} | p{12.0cm} |}
\hline
Getestet & \textit{tenez.Date.addDaysToDate(Time)}
\\
\hline
Jala Unit Test & \textit{test\_date\_shouldAddDaysToDate()}
\\
\hline
Ergebnis & Der Test war erfolgreich. Von gegebenen Datum konnten verschiedene Anzahle an Tagen addiert und korrekt subtrahiert werden\\ 
\hline
\end{tabular}

%%%----------------------------------------------------------
\chapter{Bewertungen}
%%%----------------------------------------------------------

\section{*.properties}

Das Datenbankmapping funkioniert einwandfrei. Alle darauf bezogenen Tests konnten fehlerfrei durchgeführt werden. 

\section{Global.macros.js}

In der Global.macros.js wurden alle vorhanden Funktion auf Korrektheit getestet. Diese Tests wurden alle erfolgreich bestanden. Die Global.macros.js ist daher in dieser Version komplett und voll einsatzbereit.

\section{tenez.Util.js}

In der tenez.Util.js wurden alle neu hinzukommende Funktionen seit dem letzten Testbericht diesbezüglich auf Korrektheit getestet. Diese Tests wurden alle erfolgreich bestanden. Die Util.js ist somit  in der finalen Endausfertigung.

\section{tenez.Date.js}
In der tenez.Date.js wurden alle neuen Funktion, die seit dem letzten Testbericht hinzugekommen sind auf Korrektheit getestet. Diese Tests wurden alle erfolgreich bestanden. Die Datel.js ist somit  in der finalen Endausfertigung.


%%%----------------------------------------------------------
\chapter{Abschlussbemerkung}
%%%----------------------------------------------------------

Mit diesem letzten Testbericht für die Jala Unit Tests sind nun alle Funktionen getestet worden. Insgesamt gibt es 60 Jala Unit Tests die das gesamt Tenez System auf Herz und Nieren überprüfen. Alle Tests konnten fehlerfrei duchgeführt werden. Es kam zu keinem einzigen Fehler und somit kann das Tenez Hallenreservierungssystem ohne Weiteres online gehen.

%%%----------------------------------------------------------
\chapter{Anhang}
%%%----------------------------------------------------------

\section{Version}
Version 0.1 Alexander Bohn - 21.01.2010 -Testbericht erstellt \\

%%%----------------------------------------------------------
\end{document}
%%%----------------------------------------------------------